Engineering Languages for Specifying Product-Derivation Processes in Software Product Lines
نویسندگان
چکیده
The goal of a Software Product Line (SPL) is to create a set of reusable software assets for the rapid production of a software systems family aimed at a specific market segment. The main objective of SPL engineering is to construct, as automatically as possible, specific products after selecting the particular set of features that must be included in them. Unlike traditional engineering of single systems, SPL engineering often requires dealing with three different languages at each stage of the software lifecycle: (1) a language for specifying the variability of the SPL (e.g. a feature model); (2) a language for designing the reusable software assets (e.g. UML 2.0); and (3) a language that specifies how these reusable assets must be composed for constructing specific products. There are currently available enough languages for variability specification and software assets design, but there is a general lack of languages for specifying and automating the composition of these assets. This paper presents as a novel contribution a process to engineer this kind of language. The process produces an editor and a " compiler " , which automates the composition of reusable assets, for a particular language. To explain this process a language has been developed to compose reusable assets of architectural models.
منابع مشابه
Automating the Variability Management, Customization and Deployment of Software Processes: A Model-Driven Approach
This paper presents a model-driven and integrated approach to variability management, customization and execution of software processes. Our approach is founded on the principles and techniques of software product lines and model-driven engineering. Model-driven engineering provides support to the specification of software processes and their transformation to workflow specifications. Software ...
متن کاملA Multi-agent Systems Product Line Derivation Tool
Agent-oriented Software Engineering and Software Product Lines are two promising software engineering technologies, whose integration has been recently exploited in order to promote reuse and variability management in the context of complex and distributed systems. However, an automatic product derivation process and tools for supporting it are not addressed by existing research work. In this p...
متن کاملUsing Meta-code Generation to Realize Higher-order Model Transformations
Model-driven engineering is a wide-spread paradigm in modern software engineering. During the last couple of years, many tools and languages have been developed, which are especially designed for model transformations — a discipline which is needed in many model-driven engineering approaches. While most of the existing model-to-model tools and languages are tailored towards batch transformation...
متن کاملVariability and Evolution in Model-based Engineering of Embedded Systems
Abstract: In this paper, we report on techniques for variability and evolution in Model-based Engineering of Embedded Systems. The techniques are based on an integration of domain-specific languages for embedded systems with model-driven techniques for Software Product Lines. In particular, we discuss (1) product configuration with interactive tools, (2) product derivation with model transforma...
متن کاملVisualization Support for Software Product Line Modeling
Product derivation from a product line model is a central activity in product line requirements engineering. A product line framework and/or approach should provide sophisticated visualization and product derivation support, otherwise large product lines become very hard to handle. In this paper we first present how we can benefit from existing single-system visualization techniques in product ...
متن کامل